Фильтр по тематике

Логический анализатор «за один вечер». Часть 1. Подготовка аппаратной части

В статье описаны порядок изготовления и настройки многоканального цифрового логического анализатора, а также особенности работы с ним. Благодаря использованию готового промышленного аппаратного модуля и свободно распространяемого бесплатного программного обеспечения описанное в статье устройство можно изготовить и настроить в домашних условиях за очень короткое время, при этом затраты на его изготовление будут минимальными. Первая часть посвящена описанию подготовки аппаратной части анализатора.

01.03.2018 4134 0
Логический анализатор «за один вечер». Часть 1. Подготовка аппаратной части

Цифровой логический анализатор имеет следующие параметры:

  • количество входных цифровых каналов – 8;
  • уровни входных сигналов – 3,3 В ТТЛ;
  • максимальная частота входного сигнала в каждом канале – 24 МГц.

В качестве аппаратной платформы для анализатора использована недорогая плата USB-адаптера CY7C68013A USB Board производства Waveshare [1, 2]. Принципиальная схема платы приведена на рисунке 1.

Плата выполнена на базе популярной у разработчиков микросхемы CY7C68013A производства Cypress Semiconductor [3]. Микросхема представляет собой универсальный контроллер со встроенным ядром 8051 и аппаратным интерфейсом USB. Её обозначение в технических описаниях и статьях по применению от производителя – EZ-USB FX2LP. Рабочая конфигурация контроллера EZ-USB FX2LP определяется его управляющей программой, загруженной во внутреннюю оперативную память микросхемы. В зависимости от задачи контроллер может быть настроен для выполнения тех или иных функций. Программное обеспечение контроллера загружается в его оперативную память посредством интерфейса USB с компьютера или же посредством интерфейса I2C из внешней памяти EEPROM. Заметим, что на плате CY7C68013A USB Board имеется микросхема внешней памяти EEPROM с интерфейсом I2C, однако для создания на базе этой платы логического анализатора данную микросхему необходимо заменить, о чём будет подробнее рассказано далее.

Для обеспечения возможности функционирования USB-устройства на шине для него должны быть заданы параметры дескрипторов устройства Vendor ID (VID) и Product ID (PID). Также для USB-устройства может быть задан параметр Device ID (DID).

Порядок задания значений VID, PID и DID для микросхемы CY7C68013A описан в [4]. При включении питания внутренняя логика CY7C68013A проверяет его порт I2C на предмет наличия на этой шине внешней памяти EEPROM. Если таковая на шине обнаруживается, то логика читает из EEPROM по нулевому адресу записанный туда байт данных. В случае если этот байт равен 0xC0, контроллер загружает из EEPROM данные, записанные сразу за байтом 0xC0, считая их значениями VID, PID и DID USB-устройства. При этом значение каждого дескриптора занимает в памяти два байта. Далее контроллер использует прочитанные значения при установлении соединения через USB с USB-хостом.

В случае если прочитанный по нулевому адресу из EEPROM байт равен 0xC2, контроллер копирует дальнейшее содержимое EEPROM в свою внутреннюю оперативную память.

Если память EEPROM на шине не обнаруживается, контроллер CY7C68013A использует в качестве VID, PID и DID заданные по умолчанию значения, показанные в таблице.

Таким образом, при отсутствии внешней памяти EEPROM плата CY7C68013A USB Board определяется на шине USB как USB-устройство EZ-USB FX2LP производства Cypress Semiconductor. При наличии EEPROM пользователь может самостоятельно задать тип устройства, в качестве которого будет определяться плата. Указанная возможность позволяет использовать для проектируемого логического анализатора уже готовое программное обеспечение поддержки, свободно распространяемое несколькими производителями. Это может быть, например, программа Saleae Logic от фирмы Saleae, предлагающей на рынке также логические анализаторы собственного производства. Они имеют гораздо лучшие характеристики, чем анализатор, описанный в настоящей статье, но и стоят при этом существенно дороже. Программа Saleae Logic актуальной и более ранних версий может быть бесплатно загружена с сайта производителя [5]. Автор использовал версию 1.2.10. Оговоримся, что использование указанной программы с чужим «железом» с правовой точки зрения допустимо только для частного домашнего применения, но не для промышленного или корпоративного.

Установленная и запущенная на компьютере программа Saleae Logic обнаруживает подключённое USB-устройство на базе контроллера CY7C68013A и загружает через USB в его встроенную оперативную память свой исполняемый код. После этого контроллер начинает функционировать как аппаратная часть многоканального логического анализатора, а программа Saleae Logic обеспечивает его поддержку на компьютере, однако это происходит только в том случае, если программа Saleae Logic предварительно считает из контроллера корректные значения дескрипторов VID, PID и DID. Они должны соответствовать дескрипторам логического анализатора, выпускаемого самой фирмой Saleae. Информация о значениях дескрипторов своих изделий фирма Saleae держит в открытом доступе [6]. В данном случае интерес представляют дескрипторы VID=0x0925, PID=0x3881 для первого устройства из линейки (Logic), которое и будет имитироваться. Корректное значение дескриптора DID было подобрано опытным путём.

Необходимо заметить, что корректная поддержка программой Saleae Logic аппаратных средств контроллера CY7C68013A возможна только в том случае, если в качестве микросхемы внешней памяти EEPROM с интерфейсом I2C используется микросхема, у которой адресация записываемой или считываемой ячейки (Word Address) осуществляется одним адресным байтом. Это справедливо для микросхем памяти EEPROM с интерфейсом I2C начиная с 24CL02 до 24CL16 включительно, т.е. ёмкостью не более 256 байт. У микросхем большей ёмкости адресация ячейки осуществляется двумя байтами (Address MSB и Address LSB). На плате CY7C68013A USB Board производителем установлена микросхема U2 FM24CL64 ёмкостью 1024 байта, которую необходимо заменить на любую из приведённого перечня. Автор использовал микросхему FM24CL16.

Производитель CY7C68013A фирма Cypress Semiconductor бесплатно предлагает для этого контроллера набор драйверов под различные операционные системы, а также инструментальное программное обеспечение разработки-отладки, позволяющее конструировать на базе CY7C68013A USB-устройства различного назначения. Это ПО, в частности, обеспечивает возможность программирования внешней памяти EEPROM с интерфейсом I2C. На сайте Cypress Semiconductor [3] можно после регистрации загрузить программный пакет Cypress Suite USB. Этот же пакет можно загрузить и без регистрации с wiki-страницы платы CY7C68013A USB Board [2]. После установки пакета Cypress Suite USB под ОС Windows 7 в меню «Пуск» создаётся каталог Cypress, в котором содержатся входящие в пакет программные компоненты. Из них для настоящей задачи интерес представляют две утилиты: USB Control Center и Cypress USB Console.

Необходимо заметить, что микросхема внешней памяти EEPROM с интерфейсом I2C на плате CY7C68013A USB Board может быть отключена с помощью перемычки-джампера, прерывающего ведущую к EEPROM линию SDA шины I2C. Указанная возможность потребуется для обеспечения возможности программирования этой микросхемы.

Программирование микросхемы внешней памяти EEPROM с интерфейсом I2C платы CY7C68013A USB Board на компьютере с ОС Windows 7 осуществляется в следующем порядке.

Плата с установленной микросхемой внешней памяти FM24CL16 или микросхемой меньшей ёмкости подключается к компьютеру через интерфейс USB, при этом перемычка-джампер P-SDA на плате должна быть разомкнута, т.е. микросхема памяти должна быть отключена. ОС Windows 7 должна обнаружить подключённое USB-устройство и после установки его драйвера определить его как Cypress FX2LP No EEPROM Device (см. рис. 2).

Установка драйвера для Cypress FX2LP No EEPROM Device осуществляется путём запуска исполняемого файла с драйверами продуктов Cypress CypressDriverInstaller.exe, который можно загрузить бесплатно после регистрации с сайта Cypress Semiconductor [3].

После установки драйвера следует запустить программу Cypress USB Console из каталога Cypress и убедиться, что эта программа обнаружила подключённую плату CY7C68013A USB Board (см. рис. 3).

Затем необходимо, не отключая плату от компьютера, установить на ней перемычку-джампер P-SDA, подключив тем самым микросхему внешней памяти к шине I2C. После этого следует в программе Cypress USB Console открыть окно интерфейса программирования памяти, выбрав в меню Options → EZ-USB Interface. Открывшееся окно показано на рисунке 4.

В окне EZ-USB Interface значения всех настроек следует оставить заданными по умолчанию. Кликом на кнопке S EEPROM нужно задать в открывшемся окне файлов и каталогов файл прошивки микросхемы EEPROM с интерфейсом I2C – файл с расширением iic. О том, как его создать, будет рассказано далее. После задания этот файл будет сразу же записан в микросхему памяти. По итогам записи программа Cypress USB Console выдаст сообщение, содержащее информацию о статусе произведённой записи и количестве записанных данных. В случае благополучного завершения записи – Download Successful: 256 bytes downloaded. На этом подготовку аппаратной части логического анализатора к работе можно считать полностью завершённой.

Программа USB Control Center, главное окно которой показано на рисунке 5, позволяет решить ту же задачу по программированию внешней памяти EEPROM с интерфейсом I2C, что и Cypress USB Console. Для этого нужно выбрать в её меню Program FX2 → Small EEPROM, а затем в открывшемся окне файлов и каталогов задать файл прошивки микросхемы внешней памяти. Помимо этого, программа позволяет получить весьма подробную информацию о каждом подключённом к хосту USB-устройстве, что может быть весьма полезно при разработке-отладке приложений на базе контроллера CY7C68013A.

Создание файла прошивки микросхемы FM24CL16 производится в следующем порядке. Для подготовки и редактирования этого файла можно использовать любой редактор шестнадцатеричных данных. Множество таких программ можно бесплатно загрузить из интернета. Автор использовал редактор HxD, главное окно которого с созданным в нём файлом прошивки показано на рисунке 6.

Текст файла прошивки в окне набирается с клавиатуры. Для микросхемы FM24CL16 он должен иметь размер, соответствующий ёмкости этой микросхемы, – 256 байт. Первый байт данных в файле должен быть равен 0xC0, следующие четыре байта – содержать значения VID и PID логического анализатора Logic, затем должны идти два нулевых байта, что соответствует DID=0. Заметим, что значение DID может быть и не нулевым. Следующие несколько байт также нулевые, как показано на рисунке. Последнее было установлено опытным путём. Все остальные байты имеют значение 0xFF, что соответствует стёртой ячейке памяти. При сохранении файлу прошивки присваивается расширение iic, чтобы его могли распознать программы Cypress USB Console и USB Control Center.

Для подачи исследуемых цифровых сигналов в анализаторе используются контакты PB0…PB7 разъёма J1, соединённые с одноимёнными входами контроллера CY7C68013A U1 (см. рис. 1). Эти входы соответствуют каналам Channel 0…7 программы Saleae Logic.

Во второй части статьи речь пойдёт о работе с программой Saleae Logic, а также будут приведены примеры анализа сигналов для различных цифровых шин передачи данных.

Литература

  1. High speed USB module with embedded 8051 core, USB mini-AB connector: https://www.waveshare.com/product/CY7C68013A-USB-Board-mini.htm
  2. CY7C68013A USB Board (mini): https://www.waveshare.com/wiki/CY7C68013A_USB_Board_(mini)
  3. SuiteUSB 3.4 – USB Development tools for Visual Studio: http://www.cypress.com/documentation/software-and-drivers/suiteusb-34-usb-development-tools-visual-s....
  4. EZ-USB FX2LP™ USB Microcontroller CY7C68013A/CY7C68014A CY7C68015A/CY7C68016A. Cypress Semiconductor Corporation. Document # 38-08032: http://www.cypress.com/file/138911/download
  5. Older Saleae Logic Beta Downloads: https://support.saleae.com/hc/en-us/articles/210245603-Older-Saleae-Logic-Beta-Downloads
  6. The device’s USB VID & PID failed: https://support.saleae.com/hc/en-us/articles/210245393-The-device-s-USB-VID-PID-failed

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

01.03.2018 4134 0
Комментарии
Рекомендуем
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения  концепции поляритонов

К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения концепции поляритонов

В прошлом году в журнале «Современная электроника» были опубликованы три статьи, посвящённые юбилею выдающегося российского физика-теоретика Игоря Евгеньевича Тамма (СОЭЛ № 7–9, 2025). В частности, были описаны современные быстродействующие электрооптические модуляторы, поверхностные состояния Тамма, запрещённые фотонные зоны и фотонные кристаллы. В этих статьях умышленно не затрагивались темы поляритонов, оптических состояний Тамма (ОСТ) и плазмон-поляритонов Тамма (ППТ). Поскольку ключевой вклад в раннюю разработку этих явлений в основном принадлежит российским учёным, целесообразно посвятить их открытию более подробные отдельные статьи. Ниже рассмотрены два основных типа гибридных фотонных частиц: экситон-поляритоны и фонон-поляритоны.  
24.04.2026 СЭ №4/2026 107 0
Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

«…Наступит время… когда миллионы таких приборов, таких "электрических глаз" будут всесторонне обслуживать общественную и частную жизнь, науку, технику и промышленность…» Б. Розинг Семён Исидорович Катаев (1904–1991 гг.), советский учёный и изобретатель в области телевидения, доктор технических наук, профессор, заслуженный деятель науки и техники – незаслуженно обделён вниманием популяризаторами истории электроники и телевидения в нашей стране. Тем не менее И.С. Катаев внёс значительный вклад в развитие инженерной мысли в СССР при разработке и усовершенствовании электронно-лучевых трубок (ЭЛТ), ставших на многие годы ключевой технологией, лежащей в основе экранов телевизоров и оборудования различного назначения. Катаев дополнил изобретение Зворыкина и по праву может считаться ещё одним «отцом» отечественного телевидения. В найденных документах роль Катаева прослеживается чётко, и в статье мы хотим это показать.
23.04.2026 СЭ №4/2026 114 0
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 155 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться